package com.dreamteam.hackwaterloo.utils.server; import android.annotation.TargetApi; import android.os.AsyncTask; import android.os.Build; public abstract class BaseTask<P, R, E> extends AsyncTask<P, R, E> { protected OnPostExecuteListener<E> onPostExecuteListener; public void setOnPostExecuteListener( OnPostExecuteListener<E> listener ){ onPostExecuteListener = listener; } public interface OnPostExecuteListener<T> { public void onFinish( T returnItem ); } @TargetApi(Build.VERSION_CODES.HONEYCOMB) // API 11 public void executeParallel( P... params ) { if(Build.VERSION.SDK_INT >= Build.VERSION_CODES.HONEYCOMB) executeOnExecutor(AsyncTask.THREAD_POOL_EXECUTOR, params); else execute(params); } }